<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>

  <body>
    <script>
      // 作业
      // 一、实现名单随机排序, 并且将随机的名单推进新数组里
      // 需求:
      // 1、随机名单不重复
      // 2、名单长度需要和随机名单的数组长度统一
      // 例如:
      //  名单 =  ["同学1", "同学2", "同学3"]
      //  随机名单 =  ["同学3", "同学1", "同学2"]
      let arr = ['张三', '李四', '王五', '赵六', 1, 5, 6]; //[0,3]
      let newArr = [];
      for (let i = newArr.length; i < arr.length; i++) {
        let num = Math.floor(Math.random() * arr.length);
        if (newArr.indexOf(arr[num]) === -1) {
          newArr.push(arr[num]);
        } else {
          i--;
        }
      }
      console.log(newArr);

      // 二、 实现2023年当前时间距离双十一倒计时功能
      // 需求:
      // 1、 时间需要动态更新, 实现倒计时(数据显示在页面或者控制台都可)
      // 2、 时间为个位数的时候需要补零， 例如： 1 秒 -------> 01 秒
      // 3、如果活动结束, 就不再倒计时,并且显示:"xxxx年活动已经结束!";

      // 例如: 距离双十一活动倒计时还有:xxxx年xx月xx日xx时xx分xx秒

      let timer = setInterval(() => {
        let tar = new Date('2023 11 11 00:00:00');
        let curr = new Date();
        function diffTime(curr, tar) {
          let diffMs = Math.ceil((tar.getTime() - curr.getTime()) / 1000);
          let day = Math.floor(diffMs / (24 * 60 * 60));
          let hours = Math.floor((diffMs % (24 * 60 * 60)) / (60 * 60));
          let minutes = Math.floor((diffMs % (60 * 60)) / 60);
          let seconds = diffMs % 60;
          if (day < 10) {
            day = '0' + day;
          }
          if (hours < 10) {
            hours = '0' + hours;
          }
          if (minutes < 10) {
            minutes = '0' + minutes;
          }
          if (seconds < 10) {
            seconds = '0' + seconds;
          }
          console.log(
            `距离双11还剩${day}天${hours}小时${minutes}分钟${seconds}秒`
          );
        }
        diffTime(curr, tar);
      }, 1000);

      clearInterval(timer);
    </script>
  </body>
</html>
